home *** CD-ROM | disk | FTP | other *** search
/ Multimedia Jumpstart / Multimedia Microsoft Jumpstart Version 1.1a (Microsoft).BIN / develpmt / sdk / vfw11.win / vfwdk / icsample.ma_ / icsample.bin
Encoding:
Text File  |  1993-11-19  |  5.0 KB  |  209 lines

  1. #===========================================================================;
  2. #
  3. #   ICSample - Installable Compressor Sample 
  4. #
  5. #############################################################################
  6. #
  7. #   THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY
  8. #   KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
  9. #   IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
  10. #   PURPOSE.
  11. #
  12. #   Copyright (c) 1992, 1993  Microsoft Corporation.  All Rights Reserved.
  13. #
  14. #############################################################################
  15. #
  16. #   to make a NON-DEBUG build, type the following line:
  17. #       nmake DEBUG=NO
  18. #   just typing 'nmake' will build a DEBUG build
  19. #
  20. #   You can also set the environment variable DEBUG to NO
  21. #
  22. #===========================================================================;
  23.  
  24. TARGETNAME  = icsample
  25. TARGETBASE  = icsample
  26. TARGETEXT   = drv
  27. TARGETTYPE  = WINDLL            # WINAPP[ST], WINDLL
  28. TARGETMODEL = SMALL            # SMALL, MEDIUM
  29. TARGETAPI   = -DWIN31           # -DWIN30, -DWIN31, -DWIN4
  30.  
  31. TARGETWARN  = -W3
  32.  
  33.  
  34. #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
  35. #
  36. #   Goals and objects
  37. #
  38. #
  39. #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
  40.  
  41. GOALS   = $(TARGETNAME).$(TARGETEXT)
  42.  
  43. OBJS    = libiniti.obj drvproci.obj $(TARGETNAME).obj 
  44.  
  45.  
  46. #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
  47. #
  48. #   Platform dependence
  49. #
  50. #
  51. #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
  52.  
  53. WIN16       = 1
  54. TARGETOPTZ  = -Ox -G2sw $(TARGETWARN)
  55.  
  56. !if ("$(TARGETMODEL)" != "SMALL") && ("$(TARGETMODEL)" != "MEDIUM")
  57. !error Invalid TARGETMODEL environment variable: specify SMALL or MEDIUM!
  58. !endif
  59.  
  60. #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
  61. #
  62. #   Default executable and flag declarations
  63. #
  64. #
  65. #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
  66.  
  67. CVARS       = -DWIN16 -DSTRICT $(TARGETAPI)
  68.  
  69. CC          = cl
  70. CFLAGS      = -c -Zp $(TARGETOPTZ)
  71.  
  72. RC          = rc
  73. RFLAGS      =
  74.  
  75. LN          = link
  76. LFLAGS      = /NOPACKC/NOD/NOE/MAP/AL:16/ONERROR:NOEXE
  77.  
  78. LB          = lib
  79. LBFLAGS     =
  80.  
  81. CRFLAGS     =
  82.  
  83.  
  84. !if "$(DEBUG)" != "NO"
  85. CVARS       = $(CVARS) -DDEBUG
  86. CFLAGS      = $(CFLAGS) -Zid
  87. LFLAGS      = $(LFLAGS) /CO/LI
  88. !endif
  89.  
  90.  
  91.  
  92. #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
  93. #
  94. #   Standard library stuff
  95. #
  96. #   WINLFLAGS:
  97. #
  98. #
  99. #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
  100.  
  101. WINLIBSBASE = libw commdlg shell mmsystem
  102.  
  103. !if "$(TARGETMODEL)" == "SMALL"
  104. WINLIBSST   = slibcew.lib $(WINLIBSBASE)
  105. WINLIBSDLL  = sdllcew.lib $(WINLIBSBASE)
  106. !endif
  107.  
  108. !if "$(TARGETMODEL)" == "MEDIUM"
  109. WINLIBSST   = mlibcew.lib $(WINLIBSBASE)
  110. WINLIBSDLL  = mdllcew.lib $(WINLIBSBASE)
  111. !endif
  112.  
  113.  
  114. #
  115. #
  116. #
  117. #
  118. !if ("$(TARGETTYPE)" == "WINAPPST") || ("$(TARGETTYPE)" == "WINAPP") 
  119. !if "$(TARGETMODEL)" == "SMALL"
  120. CFLAGS      = $(CFLAGS) -AS
  121. !endif
  122. !if "$(TARGETMODEL)" == "MEDIUM"
  123. CFLAGS      = $(CFLAGS) -AM
  124. !endif
  125. CVARS       = $(CVARS)
  126. WINLIBS     = $(WINLIBSST)
  127. !endif
  128.  
  129. !if "$(TARGETTYPE)" == "WINDLL"
  130. !if "$(TARGETMODEL)" == "SMALL"
  131. CFLAGS      = $(CFLAGS) -Asnw
  132. !endif
  133. !if "$(TARGETMODEL)" == "MEDIUM"
  134. CFLAGS      = $(CFLAGS) -Alnw
  135. !endif
  136. CVARS       = $(CVARS) -D_DLL -D_WINDLL
  137. WINLIBS     = $(WINLIBSDLL)
  138. !endif
  139. TARGETDEF   = $(TARGETBASE)
  140. TARGETLIBS  = $(WINLIBS)
  141.  
  142. ASM  = masm -Mx -Zi -t
  143.  
  144.  
  145. #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
  146. #
  147. #   Build rules
  148. #
  149. #
  150. #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
  151.  
  152. goal: $(GOALS)
  153.         @echo ***** Finished building $(TARGETNAME).$(TARGETEXT) *****
  154.  
  155.  
  156. $(TARGETNAME).$(TARGETEXT): $(OBJS) $(TARGETBASE).res $(TARGETBASE).def
  157.     $(LN) @<<
  158. $(LFLAGS) $(WINLFLAGS)+
  159. $(OBJS),
  160. $(@R).$(TARGETEXT),
  161. $(@R).map,
  162. $(TARGETLIBS),
  163. $(TARGETBASE).def
  164. <<
  165.         mapsym $(@R).map
  166.         $(RC) -t -31 $(TARGETBASE).res $(@R).$(TARGETEXT)
  167.  
  168. $(TARGETBASE).res: $(TARGETBASE).rc $(TARGETBASE).h
  169.         $(RC) -r $(RFLAGS) $(CVARS) -Fo $@ $(TARGETBASE).rc
  170.  
  171. #
  172. #
  173. #
  174. #
  175. $(TARGETNAME).obj: $$(@B).c $(TARGETBASE).h 
  176.         $(CC) @<<
  177. $(CFLAGS) $(CVARS) -NT _TEXT -Fo$@ $(@B).c
  178. <<
  179.  
  180. drvproci.obj: $$(@B).c 
  181.         $(CC) @<<
  182. $(CFLAGS) $(CVARS) -NT _TEXT -Fo$@ $(@B).c
  183. <<
  184.  
  185. libiniti.obj: $$(@B).asm
  186.     $(ASM) -DSEGNAME=_TEXT $(@B),$(@);
  187.  
  188. #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
  189. #
  190. #   Misc rules
  191. #
  192. #
  193. #- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -;
  194.  
  195. clean:
  196.         @echo y >y.zyz
  197.         @del *.obj <y.zyz >nul
  198.         @del *.$(TARGETEXT) <y.zyz >nul
  199.         @del *.res <y.zyz >nul
  200.         @del *.sym <y.zyz >nul
  201.         @del *.map <y.zyz >nul
  202.         @del *.pdb <y.zyz >nul
  203.         @del y.zyz
  204.         @echo ***** Finished cleaning $(TARGETNAME) *****
  205.  
  206. copy:
  207.     copy $(TARGETNAME).$(TARGETEXT) ..\..\bin
  208.     copy $(TARGETNAME).sym ..\..\bin
  209.